#ifndef MEMORY_MONITOR_H
#define MEMORY_MONITOR_H

#include <pthread.h>

// 内存使用情况结构体
typedef struct {
    unsigned long total;      // 总内存（KB）
    unsigned long used;       // 已使用内存（KB）
    unsigned long free;       // 空闲内存（KB）
    unsigned long buffers;    // 缓冲区使用量（KB）
    unsigned long cached;     // 缓存使用量（KB）
    double usage_percent;     // 内存使用率（%）
} Memory_Usage;

// 内存监控线程参数结构体
typedef struct {
    int interval;     // 监控间隔（秒）
    int running;      // 线程运行标志
} Memory_Monitor_Args;

// 函数声明
void* memory_monitor_thread(void* arg);
int init_memory_monitor(void);
void cleanup_memory_monitor(void);
Memory_Usage get_memory_usage(void);

#endif // MEMORY_MONITOR_H 